set(PXR_PREFIX pxr/imaging)
set(PXR_PACKAGE hdx)

pxr_library(hdx
    LIBRARIES
        plug
        tf
        vt
        gf
        work
        garch
        glf
        pxOsd
        hd
        hdSt
        cameraUtil
        sdf
        ${GLEW_LIBRARY}

    INCLUDE_DIRS
        ${GLEW_INCLUDE_DIR}

    PUBLIC_CLASSES
        drawTargetRenderPass
        drawTargetTask
        drawTargetResolveTask
        intersector
        package
        rendererPlugin
        rendererPluginRegistry
        renderTask
        renderSetupTask
        selectionTask
        selectionTracker
        shadowTask
        simpleLightingShader
        simpleLightTask
        taskController
        tokens
        types

    PUBLIC_HEADERS
        shadowMatrixComputation.h
        version.h
        api.h

    PRIVATE_CLASSES
        debugCodes
        unitTestDelegate

    PRIVATE_HEADERS
        unitTestGLDrawing.h
        unitTestUtils.h

    RESOURCE_FILES
        plugInfo.json
        shaders/simpleLightingShader.glslfx
        shaders/renderPass.glslfx
        shaders/renderPassShader.glslfx
        shaders/renderPassIdShader.glslfx
        shaders/renderPassShadowShader.glslfx
)

if (X11_FOUND OR APPLE)
pxr_build_test(testHdxRenderTask
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        testenv/testHdxRenderTask.cpp
)
pxr_build_test(testHdxLightAndShadow
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        testenv/testHdxLightAndShadow.cpp
)
pxr_build_test(testHdxIdRender
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        unitTestGLDrawing.cpp
        testenv/testHdxIdRender.cpp
)
pxr_build_test(testHdxPickAndHighlight
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        unitTestGLDrawing.cpp
        unitTestUtils.cpp
        testenv/testHdxPickAndHighlight.cpp
)
pxr_build_test(testHdxCameraAndLight
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        testenv/testHdxCameraAndLight.cpp
)
pxr_build_test(testHdxPickingWithReprAndRefineChanges
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        unitTestGLDrawing.cpp
        unitTestUtils.cpp
        testenv/testHdxPickingWithReprAndRefineChanges.cpp
)
pxr_build_test(testHdxUnpickablesAsOccluders
    LIBRARIES
        hdx
        hd
        sdf
        glf
        garch
        arch
        tf
    CPPFILES
        unitTestGLDrawing.cpp
        unitTestUtils.cpp
        testenv/testHdxUnpickablesAsOccluders.cpp
)
endif()
